1. Field of the Invention
The present invention relates to a method and apparatus for controlling data traffic. More particularly, the present invention relates to a method and apparatus for controlling traffic of a multiprocessor system or a multi-core system.
2. Description of the Related Art
Recent mobile devices are diversified in type and equipped with various applications for supporting multimedia functions. To support the various applications and multimedia functions, there is a need for a high performance and low power system. A multiprocessor system is becoming a key issue for addressing these requirements.
In a multiprocessor system incorporating a multi-Central Processing Unit (multi-CPU) system, multi-Digital Signal Processor (multi-DSP), and multi-Graphics Processing Unit (multi-GPU) (including multi-core system), individual technologies are operating in cooperation with each other or independently on different bandwidths in real time. Such operations cause a large amount of system traffic, resulting in collisions of communications among individual technologies. Accordingly, it is a significant issue to schedule the traffic of individual technologies in an effective order to achieve maximum throughput while minimizing the probability of traffic collision.
In order to guarantee Quality of Service (QoS), the conventional method controls the QoS/Arbitration scheme supported by BUS and memories. The conventional method uses the pre-estimated information for control rather than analyzing information in real time. However, the conventional method has large system overhead for transitioning from a previously used scheme to another scheme.
The conventional method controls the QoS and Arbitration schemes provided by the individual technologies controlled at the time points programmed by software. Such a method can be applied for guaranteeing QoS in a relatively long term scenario. However, the conventional method cannot be used in a short term scenario where the QoS guaranty should be secured momentarily due to the large system overhead. Also, the conventional method does not account for the multiple processors or cores because the throughput of the entire system is likely to be degraded. Furthermore, since the conventional method operates only in a predetermined scheme, it is impossible to support various scenarios.